<template>
  <div class="person">
<!--    <h2>{{list}}</h2>-->
    <ul>
      <li v-for="person in list" :key="person.id">
        {{person.name}} -- {{person.age}}
      </li>
    </ul>
  </div>
</template>

<script lang="ts" setup>
  import {defineProps,withDefaults} from 'vue'
  import type {Persons} from "@/types";
  //1、
  // defineProps(['a']);
  //接收a， 同时把props保存起来
  // let x = defineProps(['a']);
  // console.log(x);

  //2、
  //接收list
  // defineProps(['list'])

  //3、
  //接收list + 限制数据
  // defineProps<{list:Persons}>()

  //4、如果父工程App.vue不给数据，就用默认值
  //接收list + 限制数据 + 限制必要性  + 给默认值
  withDefaults(defineProps<{list?:Persons}>(),{
    list:()=>[{id:'007', name:'坤哥', age:22}]
  })

</script>

<style scoped>
.person{
  background-color: skyblue;
  box-shadow: 0 0 10px;
  border-radius: 10px;
  padding: 20px;
}
</style>
